This invention relates to method of estimating the position of a rotor in a motor, and to motor control apparatus.
It is known to use electric motors in a wide variety of applications, one application with unique challenges being electric power assisted steering systems. This is shown in FIG. 2 of the drawings. In a typical system, a torque sensor 10 measures the torque applied to a steering shaft 20 by a driver turning the steering wheel 30. This torque measurement is passed to a motor control and drive circuit 40 which produces an assistance demand signal equal to the amount of assistance torque to be applied to the steering system. The demand signal is used to generate currents that are applied to the phases of an electric motor 50 attached to the steering shaft 20, or some other part of the steering system, through a gearbox (not shown). The motor applies the demanded torque to the steering system, making it easier for the driver to turn the wheel.
The driver is in physical contact with the steering wheel 30 and so feels the effect of the torque applied to the steering shaft by the motor. The driver will be able to feel any unexpected changes in torque output from the motor as the wheel is turned. This is especially the case at low speeds of rotation of the steering wheel. If the torque output from the motor varies suddenly with the angular position of the motor rotor this might be felt by the driver.
To ensure accurate operation of the motor 50 it is common to use closed loop control, in which the motor torque demand is compared with an actual measurement of the current applied to the motor 50. The torque applied by the motor depends on the current flowing in each phase. For many motor control strategies which employ PWM to modulate the torque, accurate control of the current for each phases requires knowledge of the motor angular position, especially important where a pulse width modulation scheme is used to set the torque. The position can be measured directly using a sensor 60 attached to the motor rotor or to a part of the system that rotates as the motor rotates, such as the gearbox.
Most, if not all, position sensors, produce an output that has a number of discrete states, the signal changing abruptly at a “step” between each stage. Each of the steps will occur at a different angular position of the motor determined by the layout of the position sensor encoder and the arrangement of the position sensor detector. At high velocities interpolation may be used between the states to improve the resolution of the sensor, but the applicant has appreciated that interpolation cannot be used at low speeds where inaccurate motor rotor velocity information is available. Sudden jumps between position states then occur, which lead to corresponding step changes in the torque output from the motor.
FIGS. 3a and 4a show the variation in torque with motor position that arise when a constant torque is demanded but an error in the position measurement is used in the motor control. The dark lines correspond to a resolution between steps of 10 degrees and the lighter lines correspond to a resolution between steps of 7.5 degrees. FIGS. 3b and 4b showing the actual variation in underlying errors in position against actual position that arise when the position signal is accurate only at the midpoint between steps or accurate only alongside a step respectively.